<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 原型 
        //数组中没有一个明确的方法 可以返回数组中的最大值和最小值 

        // 如果给每个数组 增加这个方法  

        // 原型(prototype)
        // 把公共的属性和方法提取出来 只书写和创建一次 (写在原型上)
        // 只要写在原型上的  实例化的对象都可以使用  


    //     function Person(){

    //     }

    //     Person.prototype.init = function(){

    //     }

    //    var p1   = new Person();
    //    var p2   = new Person();
    //    var p3   = new Person();

    //    p1.init()// 到p1的__proto__  => Person.prototype


    // js 内置构造函数创建 有哪些?
    // Object 
    // String
    // Array
    // Date
    // Function 
    // RegExp 
    // Set
    // Map 

    // 万物皆对象   每个对象都是从它的 构造函数中 实例化出来的 
    // 任何一个对象 所属构造函数是 Object
    // 任何一个数组  所属构造函数是 Array
    // 任何一个正则  所属构造函数是 RegExp
    // 任何一个函数  所属构造函数是 Function



    // 我们给任何数组增加一个方法  
    // 任何一个数组  所属构造函数是 Array ,只要写在Array的原型上,任何数组都可以使用这个方法

    Array.prototype.getmax = function(){
        let max = this[0];
        for(let i=1;i<=this.length-1;i++){
            if(this[i]>max){
                max = this[i]
            }
        }
        return max
    }


    console.log([1,3,5,2,4,5,6,7,3,2,3].getmax())
    console.log([11,23,12,45,98,101].getmax())


    </script>
</body>
</html>